/* 
 * ADAMSHOP Festive Optimization
 * Color Scheme: #003057 (60%), #fefefe (20%), #4fb696 (10%)
 */

:root {
    --adam-blue: #003057;
    --adam-white: #fefefe;
    --adam-teal: #4fb696;
    --adam-teal-glow: rgba(79, 182, 150, 0.5);
    --adam-snow: rgba(254, 254, 254, 0.9);
    --transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Global Backgrounds & Text --- */
body {
    /* Subtle holiday gradient over the standard background */
    background-image: linear-gradient(to bottom, #f8f9fa 0%, #eef2f5 100%);
}

/* Headers with Frost Effect */
h1, h2, h3, h4, .homepage-group-title {
    color: var(--adam-blue) !important;
    position: relative;
    display: inline-block;
}

.frost-text {
    background: linear-gradient(120deg, var(--adam-blue) 0%, var(--adam-teal) 50%, var(--adam-blue) 100%);
    background-size: 200% auto;
    color: transparent !important;
    -webkit-background-clip: text;
    background-clip: text;
    animation: shineText 4s linear infinite;
}

/* --- Product Cards (.p) Transformation --- */
.products-block .p {
    border: 1px solid rgba(0, 48, 87, 0.1);
    border-radius: 8px;
    background: var(--adam-white);
    transition: transform 0.4s var(--transition-smooth), box-shadow 0.4s var(--transition-smooth), border-color 0.3s;
    overflow: hidden;
}

.products-block .p:hover {
    transform: translateY(-5px);
    border-color: var(--adam-teal);
    box-shadow: 0 10px 25px -5px var(--adam-teal-glow);
}

/* Price Styling */
.price-final strong {
    color: var(--adam-teal) !important;
    text-shadow: 0 0 1px rgba(0,0,0,0.1);
}

/* --- Buttons (Teal Accents) --- */
.btn.btn-primary, 
.btn.btn-conversion,
.btn.btn-cart {
    background-color: var(--adam-teal) !important;
    border-color: var(--adam-teal) !important;
    color: var(--adam-white) !important;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease !important;
    text-transform: uppercase;
    font-weight: 700;
}

.btn.btn-primary:hover, 
.btn.btn-conversion:hover {
    background-color: var(--adam-blue) !important;
    border-color: var(--adam-blue) !important;
    box-shadow: 0 0 15px var(--adam-teal-glow);
}

/* --- Header Enhancements --- */
#header {
    border-bottom: 3px solid var(--adam-teal);
}

.navigation-wrapper {
    position: relative;
}

/* Festive underline for menu items */
.navigation-in ul li a:hover {
    color: var(--adam-teal) !important;
}

/* --- Animations --- */

/* 1. Falling Snow (DOM elements added by JS) */
.adam-snowflake {
    position: fixed;
    top: -10px;
    background-color: var(--adam-snow);
    border-radius: 50%;
    pointer-events: none;
    z-index: 99999; /* On top of everything */
    animation: fall linear infinite;
}

@keyframes fall {
    0% { transform: translateY(0) rotate(0deg); opacity: 0.8; }
    100% { transform: translateY(100vh) rotate(360deg); opacity: 0; }
}

/* 2. Shimmer Text Animation */
@keyframes shineText {
    to { background-position: 200% center; }
}

/* 3. Scroll Reveal Classes */
.adam-reveal-hidden {
    opacity: 0;
    transform: translateY(30px) scale(0.98);
    transition: opacity 0.8s ease-out, transform 0.8s var(--transition-smooth);
}

.adam-reveal-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* 4. Festive Cursor Trail */
.adam-cursor-dot {
    width: 8px;
    height: 8px;
    background-color: var(--adam-teal);
    border-radius: 50%;
    position: fixed;
    pointer-events: none;
    z-index: 10000;
    mix-blend-mode: multiply;
    transition: transform 0.1s, opacity 0.3s;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .adam-cursor-dot { display: none; } /* Disable cursor on touch */
}